package com.ninelock.sso.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Author wultn
 * @Date 14:13 2020/2/11
 **/
@Data
@TableName("sys_user")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SysUser implements Serializable {

  private static final long serialVersionUID = 3332449331819444535L;
  /** 主键id */
  @TableId(type = IdType.AUTO)
  private Long userId;
  /** 所属企业id */
  @TableField(fill = FieldFill.INSERT)
  private Long businessId;
  /** 所属组织id */
  private Long groupId;
  /** 用户名称 */
  private String userName;
  /** 用户角色id */
  private Long roleId;
  /** 工号，唯一键 */
  private String workNo;
  /** 密码 */
  private String password;
  /** md5密码盐 */
  private String salt;
  /** 头像 */
  private Long avatar;
  /** 电子邮件 */
  private String email;
  /** 电话 */
  private String phone;
  /** 用户禁用状态（0-启用 1-禁用） */
  private Integer disable;
  /** 同步工作流引擎(1-同步,0-不同步) */
  private Integer activitySync;
  /**1-部门审批人 0-不是部门审批人 */
  private Integer approver;
  /** 创建人 */
  @TableField(fill = FieldFill.INSERT)
  private Long createId;
  /** 创建时间 */
  @TableField(fill = FieldFill.INSERT)
  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  private Date createTime;
  /** 更新人 */
  @TableField(fill = FieldFill.INSERT_UPDATE)
  private Long updateId;
  /** 更新时间 */
  @TableField(fill = FieldFill.INSERT_UPDATE)
  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  private Date updateTime;
  /** 删除状态(0-正常,1-已删除) */
  @TableField(fill = FieldFill.INSERT)
  @TableLogic
  private Integer delFlag;
}
